草庐IT

c++ - 如何确定 C++ 应用程序中可用 RAM 的数量?

我想确定特定时刻的空闲RAM量,以便让用户知道特定操作是否可行,具体取决于是否有必要的RAM量可用。编辑:我找到了this.但正如Travis所说,它是分页和RAM的某种混合体。我只想知道可用的RAM内存。其次,如果没有必要的RAM,我想了解如何在Windows中使用分页。谢谢。 最佳答案 关于分页:如果在Windows中启用,分页将自动执行。无需更改代码即可使用。关于空闲内存:Win32/MFC:Howtofindfreememory(RAM)available?您也可以尝试申请内存。如果成功,则可以执行操作。如果您无论如何都要使

c - 从 Windows 内部修改 SMBIOS

Google在这方面让我失望了(或者我没有正确使用Google)。我有一种情况想修改SMBIOS数据的一些关键属性(如硬件制造商或Assets标签)。我从Windows内部知道可以使用WMI提取SMBIOS数据,但如何更改值?这可能吗?如果可能的话,我想以编程方式执行此操作。这可能吗?谢谢! 最佳答案 SMBIOS数据嵌入在BIOSROM镜像中,因此您需要BIOS供应商提供的工具来执行此操作。AMI和Phoenix都提供实用程序来执行此操作,但最终用户通常无法使用它们。它们旨在供制造商用于在生产过程中加载序列号数据。不过,您可以在网

c - CreateSemaphore() API 中的 lmaxcount 参数有什么用?

我正在学习Windows操作系统,并且正在编写标准的消费者生产者问题。我有一个用于资源计数的信号量和一个用于同步的互斥锁。我已经在CreateSemaphore()中传递了最大计数值50,因此它不应允许生产者创建超过50个资源。但是当我运行代码时,它远远不止于此。我是否错误地理解了maxcount参数的使用?我也贴代码。请帮我解决这个问题。#include#includeDWORDWINAPIconsumerThread(LPVOIDargs);DWORDWINAPIproducerThread(LPVOIDargs);intshared;HANDLEhMutex;HANDLEhSem

c++ - 我们为什么以及什么时候需要使用#pragma

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion我在学习一个winsock客户端服务器程序,通过#pragmacomment(lib,"ws2_32.lib")想出来了。在这里了解它的需要。但是我可以使用它的其他实例是什么?为什么我需要使用它?

c++ - 如何在 Windows 上使用 Vim 中的开发者命令提示符命令行?

我在这台笔记本电脑上安装了VisualStudioExpressforWindowsDesktop,我可以使用命令cl/EHscfilename.cpp和C++程序编译C++源文件在VS2012开发人员命令提示符的命令行上使用.NET类和命令cl/clrfilenameclr.cpp使用此说明:http://msdn.microsoft.com/en-us/library/ms235639.aspx如何使用这些命令在MicrosoftWindows上的Vim(文本编辑器)中进行编译?:cl/EHscfilename.cpp和:cl/clrfilenameclr.cpp不起作用。

c++ - 通过组策略安装 VC++ 可再发行组件的最佳方式是什么?

这应该很简单,但似乎一点也不简单。我希望创建一个安装程序,供那些使用组策略安装产品的人使用。我不知道这是否必须是MSI或EXE。可以通过组策略安装EXE安装吗?我与另一位Wix新手聊天,他似乎认为安装纯MSI文件是个坏主意。我的产品使用VisualC++2010可再发行组件。我不想使用合并模块。两者this和this链接给出了使用它们的一些缺点。我反对1)安装用户未同意的东西,以及2)没有带有版本号的控制面板卸载项目,用户可以检查并查看他们是否拥有最新版本。因此,我对那些教我为什么应该使用合并模块的人的回答不感兴趣。如果没有合并模块我的要求真的是不可能的,那么请解释原因。我不知道是否有

C++:查找内存映射文件的瓶颈

我有一个内存映射文件,我使用MemCpy从中获取数据。有时它快如闪电,有时却出奇地慢。例如:一次0.15毫秒,然后相同的操作6秒。我不确定瓶颈在哪里或如何解决。因此,我认为我需要做一些相当“深入”的分析,以找出究竟是什么导致MemCpy操作有时如此缓慢。有人可以建议我应该如何跟踪问题吗? 最佳答案 我想你可能想用VirtualLockLocksthespecifiedregionoftheprocess'svirtualaddressspaceintophysicalmemory,ensuringthatsubsequentacce

c++ - Qt 应用程序在使用文件打开对话框后将焦点切换到不同的应用程序

我正在将我的一个Qt应用程序在OSX上开发后移植到Windows。我在OSX上没有这个问题,但它现在在Windows8下发生了。当我用QFileDialog::getOpenFileName()打开并选择一个文件时,焦点切换到其他应用程序,我有alt-tab回到我的。一旦在对话框中选择了文件而不是这样做,我如何让Qt恢复到主应用程序? 最佳答案 您可能只是忘记为QFileDialog设置parent-您需要将指向当前窗口的指针传递给getOpenFileName:QStringfileName=QFileDialog::getOpe

c# - Windows 进程(C#/C++/等)的错误退出代码?

我们的C#应用程序以代码0退出,即使它在代码中明确返回-1:internalclassProgram{publicintMain(){....return-1;}}如果使用voidMain也会发生同样的情况:internalclassProgram{publicvoidMain(){....Environment.Exit(-1);}}正如关于SO的其他问题所暗示的那样,它可能是其他线程中未处理的CLR/C++/native异常。然而,我在最后一个线程之前添加了所有托管/native线程的正常关闭,但行为仍然存在。可能是什么原因? 最佳答案

c++ - 使用 GetProcessTimes 在 Windows 上测量 CPU 时间

我想测量CPU一些功能的时间。我知道如何使用GetProcessTimes,但我在使用某种“重新启动”实现它时遇到了问题:通常,我会这样做:#include"stdafx.h"#include#includedoublecputimer(){FILETIMEcreateTime;FILETIMEexitTime;FILETIMEkernelTime;FILETIMEuserTime;if(GetProcessTimes(GetCurrentProcess(),&createTime,&exitTime,&kernelTime,&userTime)!=-1){SYSTEMTIMEuser